import { PageQuery } from "@/model";

/**
 * 记录查询参数
 */
export interface RecordQuery extends PageQuery {
  /**
   * 是否删除 (0否 1是)
   */
  isDelete: number;
  /**
   * 关键字
   */
  keyword?: string;
  /**
   * 状态 (1公开 2私密 3草稿)
   */
  status?: number;
  /**
   * 记录类型
   */
  type?: number;
  /**
   * 标签id
   */
  tagId?: number;
}

/**
 * 标签
 */
export interface TagVO {
  /**
   * 标签id
   */
  id: number;
  /**
   * 标签名
   */
  tagName: string;
}

/**
 * 记录
 */
export interface Record {
  /**
   * 记录id
   */
  id: number;
  /**
   * 记录者id
   */
  userId: number;
  /**
   * 记录缩略图
   */
  cover: string;
  /**
   * 记录标题
   */
  title: string;
  /**
   * 图片列表
   */
  imgList: string[];
  /**
   * 记录类型 (1约会 2活动 3赛事 4帮忙)
   */
  type: number;
  /**
   * 是否通过 (0否 1是)
   */
  isCheck: number;
  /**
   * 是否置顶 (0否 1是)
   */
  isTop: number;
  /**
   * 是否推荐 (0否 1是)
   */
  isRecommend: number;
  /**
   * 是否删除 (0否 1是)
   */
  isDelete: number;
  /**
   * 状态 (1公开 2私密 3草稿)
   */
  status: number;
  /**
   * 点赞数
   */
  likeNumber: number;
  /**
   * 浏览量
   */
  viewCount: number;
  /**
   * 收藏数
   */
  collectNumber: number;
  /**
   * 记录标签
   */
  tagVOList: TagVO[];
  /**
   * 发表时间
   */
  createTime: string;
}

/**
 * 记录表单
 */
export interface RecordForm {
  /**
   * 记录id
   */
  id?: number;
  /**
   * 记录者id
   */
  userId: number;
  /**
   * 记录缩略图
   */
  cover: string;
  /**
   * 记录标题
   */
  title: string;
  /**
   * 记录内容
   */
  content: string;
  /**
   * 记录图片
   */
  images?: string;
  /**
   * 图片列表
   */
  imgList?: string[];
  /**
   * 记录视频
   */
  video?: string;
  /**
   * 记录类型 (1约会 2活动 3赛事 4帮忙)
   */
  type: number;
  /**
   * 标签名
   */
  tagNameList: string[];
  /**
   * 是否置顶 (0否 1是)
   */
  isTop: number;
  /**
   * 是否推荐 (0否 1是)
   */
  isRecommend: number;
  /**
   * 状态 (1公开 2私密 3草稿)
   */
  status: number;
}

/**
 * 逻辑删除
 */
export interface DeleteDTO {
  /**
   * id列表
   */
  idList: number[];
  /**
   * 是否删除 (0否 1是)
   */
  isDelete: number;
}

/**
 * 置顶状态
 */
export interface Top {
  /**
   * id
   */
  id: number;
  /**
   * 是否置顶 (0否 1是)
   */
  isTop: number;
}

/**
 * 推荐状态
 */
export interface Recommend {
  /**
   * id
   */
  id: number;
  /**
   * 是否推荐 (0否 1是)
   */
  isRecommend: number;
}
